Skip to main content

Design Hub API

1. Overview

Welcome to the Design Hub API, developed by Basesite!

This API provides report writers an interface to access and interact with the services and data offered by the FCE Suite of applications. Whether using PowerBI, Excel, or other reporting tools, our API provides integration to fetch, filter, and manipulate data to meet your specific reporting needs. By offering detailed and structured data, the API enables you to generate reports that can drive informed decision-making and streamline business processes.

2. Base URL

For users within Intel, the APIs are available in two environments to support various stages: UAT and PRODUCTION. Each environment has its base URL, allowing you to test and validate your reports in controlled settings.

2.1. Client Credentials

Use the details below to connect to the Design Hub API in all environments

Please use the Support button in LSPx to log a ticket, providing details below:

  • Your role
  • Your Company
  • Why you need the API

3. Choosing the Right Environment

tip

The UAT environments have a “-uat” in the API URL. Remove this to use the production URL.

  • Production Phase: use the PRODUCTION environment to ensure you work with live, accurate data.
  • Pre-Deployment Phase: use the UAT environment for thorough testing and validation, focusing on user acceptance.

4. API URL per Feature

4.1. DAC Endpoints

Refer to the User Guide for how to create, submit and complete DACs in the LSPx application.

GET all DAC Data [by site, company and date]

APIs for DAC data are available in UAT and Production, containing all the DACs from LSPx. You can use the following URLs to GET the DAC data for all companies and sites:

DAC API Parameters

By default, this endpoint retrieves all DACs if no filters are provided, which may take some time. The API supports the following optional parameters:

  • SiteName: Gets all records for a specific site.
  • CompanyName: Gets all records for a specific Company.
  • startDate: If provided, returns DACs created on or after this date. When used with endDate, returns DACs between the two dates. Format: YYYY-MM-DD (e.g., 2026-03-25)
  • endDate: If provided, returns DACs created on or before this date. When used with startDate, returns DACs between the two dates. Format: YYYY-MM-DD (e.g., 2026-03-26)
  • excludeTransitions: If true, transitions will be excluded from the response to improve performance. Default value : true
  • excludeAttachments: If true, attachments will be excluded from the response to improve performance. Default value : true
  • excludeComments: If true, comments will be excluded from the response to improve performance. Default value : true
  • excludeSupportEquip: If true, support equipment questions will be excluded from the response to improve performance. Default value : true

4.2. DCR Endpoints

Refer to the User Guide for how to create, submit and complete DACs in the LSPx application.

GET all DCR Data [All Sites]

To get DCR Endpoint details, please use the Support button in LSPx to log a ticket, providing details below:

  • Your role
  • Your Company
  • Why you need the DCR Endpoint API

4.3. ROD Endpoints

Refer to the User Guide for how to create, submit and complete RODs in the LSPx application.

All RODs for all Sites and Companies

APIs for the RODs are available in UAT and Production, containing all the RODs in LSPx. You can use the following URL to GET ROD data for all companies on all sites:

By default, this endpoint retrieves all RODs if no filters or pagination settings are applied, which may take some time. If you leave the options below blank, the request will return all RODs from all sites. However, this may result in a longer processing time:

  • siteName: This parameter represents the name of a specific site you want to get the RODs for. For example, you can enter Ireland. You can only get details of one site at a time. Leave blank to retrieve records for all sites.
  • skip: Tells the API how many records to skip before starting to return results. It is useful for navigating through pages of data. For example, if you have already seen the first 10 records, setting skip=10 will move to the next set of records. Leave blank to retrieve records for all sites.
  • take: Determines how many records should be returned in the response. For example, take=100 will return up to 100 records. Leave blank to return all records.
  • companyName: Refers to the name of a company you want to see their RODs. It is useful for filtering data related to a specific companies in LSPx. For example, you can enter DPS. You can only get details of one company at a time. Leave blank to get all companies.
  • excludeAttachments: You can exclude attachments from the results by choosing "false". Choose "true" if you want to include this data in your result.*
  • excludeComments: You can exclude comments from the results by choosing "false". Choose "true" if you want to include this data in your result.*
  • startDate: If provided, results will return RODs created on or after this date. When used with endDate, it will return result of RODs between the two dates. Use this Format: YYYY-MM-DD (e.g., 2024-02-14)*
  • endDate: If provided, results will return RODs created on or after this date. When used with startDate, it will return result of RODs between the two dates. Use this Format: YYYY-MM-DD (e.g., 2025-02-14)*

If "Skip" or "Take" parameters are used, the data will be paginated accordingly. This divides large sets of data into smaller, manageable chunks (or pages) instead of returning everything at once. This improves performance, reduces server load, and speeds up response times. Remove &skip=10&take=100 from the URL if you want records for all sites.

If you don't want to use siteName parameter, remove siteName=Ireland& from the URL. Refer the below table for the site names you can use.

If companyName parameter is used, all RODs data for that company will be retrived. Remove &companyName=DPS from the URL if you want records for all companies.

If both siteID and companyName parameters are used, all RODs data for that company on the site will be retrived. In the URL replace the company and siteId to suit your needs. Using the example above, you can change “DPS” to “Jacobs”. You can change "Ireland" to your any of the sites listed in the table given below e.g. "Arizona".

If you don't want to use any parameters, remove ?siteName=Ireland&skip=10&take=100&companyName=DPS from the URL.

Additional Information

  • HTML tags for Problem Statement Proposed Solution Solution are not included in the retrieved data.
  • Turnaround Times are presented in hours and days.
  • The data will display the names and email addresses of AC, PM, and Reporter.
  • You can filter the RODs by date.
Site IdSite Name
1Virtual Factory
2Ireland
4Arizona
5Ronler Acres
6Santa Clara
7Aloha
8Qiryat Gat
9Vietnam
10Chandler
11Costa Rica
12Rio Rancho
13Jerusalem
14Kulim
15Penang
16Pudong
17Dalian

4.4. SDD Endpoints

Refer to the User Guide for how to create, submit and complete SDDs in the LSPx application.

All SDDs for all Sites and Companies

APIs for the SDDs are now available in UAT and Production, containing all the SDDs from FCEConnect. You can use the following URL to GET SDD data for all companies on all sites:

By default, this endpoint retrieves all SDDs if no filters or pagination parameters are provided, which may take some time. However, the API supports the following optional parameters:

  • SiteId: Set it to 1 to get virtual factory SDDs.
  • Skip: Specifies the number of records to skip.
  • Take: Specifies the number of records to retrieve.
  • CompanyName: GETs all records for a specific Company.

If both Skip and Take parameters are used, the data will be paginated accordingly. If you don't want to use Skip and Take parameters, remove &skip=10&take=100 from the URL.

If siteId parameter is used, all SDDs data for that site will be retrived. If you don't want to use SiteId parameter, remove siteId=1& from the URL. Refer the below table for the site Id's for each site.

If CompanyName parameter is used, all SDDs data for that company will be retrived. If you don't want to use Company Name parameter, remove &companyName=DPS from the URL.

If both SiteID and CompanyName parameters are used, all SDDs data for that company and for that specific site will be retrived. In the URL replace the company and siteId to suit your needs. Using the example above, change “DPS” to “Jacobs”. Change "2" to your siteid as per the table given below.

If you don't want to use SiteID and Company Name parameters, remove siteId=1& and &companyName=DPS from the URL. If you don't want to use any parameters, remove ?siteId=1&skip=10&take=100&companyName=DPS from the URL.

Site IdSite Name
1Virtual Factory

4.5. RP Schedule Endpoints

All RP schedule data

APIs for the SDDs are now available in UAT and Production, containing all the SDDs from FCEConnect. You can use the following URL to GET SDD data for all companies on all sites:

By default, this endpoint retrieves all data if pagination parameters are not provided, which may take some time. However, the API supports the following optional parameters:

  • Skip: Specifies the number of records to skip.
  • Take: Specifies the number of records to retrieve.

If both Skip and Take parameters are used, the data will be paginated accordingly. If you don't want to use Skip and Take parameters, remove &skip=0&take=10000 from the URL.

If you don't want to use any parameters, remove ?skip=0&take=10000 from the URL.

5. Example Request

Follow the instructions below to connect to the APIs using PowerBI or Excel:

5.1. Connecting via PowerBI

To connect to the API via PowerBI, please use the Support button in LSPx to log a ticket requesting a sample file or the API credentials. Then you can follow these steps below:

  1. Open PowerBI on your desktop and create a blank report.
  2. Launch the Power Query Editor by clicking the Transform Data button
  3. Click on Enter Data
  4. Create an empty table.
  5. Click on the Advanced Editor button
  6. Replace the code with the Power Query code below
  7. Replace the token_url, client_id, and client_secret with those supplied by the LSPx support team.
Power Query for PowerBI

let
// Variables for token acquisition
// Contact the LSPx support team for the following variables
token_url = "",
client_id = "",
client_secret = "",
scope = "api://lspxscopes/.default",
token_body = "grant_type=client_credentials&client_id=" & client_id & "&client_secret=" & client_secret & "&scope=" & Uri.EscapeDataString(scope),

// Obtain the token
TokenResponse = Web.Contents(token_url,
[
Content = Text.ToBinary(token_body),
Headers=[#"Content-Type"="application/x-www-form-urlencoded", #"Accept"="application/json"]
]),
AccessToken = Json.Document(TokenResponse)[access_token],

// API Call with the token
api_url_base = "https://fcelspx.build.intel.com/designhub/api/Issue/GetIssueRodList",
queryParams = "?siteName="&siteName&"&companyName="&companyName&"&startDate=2026-06-01&endDate=2026-12-31",
FullApiUrl = api_url_base & queryParams,
ApiHeaders = [Authorization="Bearer " & AccessToken, Accept="application/json"],
ApiResponse = Web.Contents(FullApiUrl, [Headers=ApiHeaders]),

// Parse the JSON response
ParsedJson = Json.Document(ApiResponse),
list = ParsedJson[list],
#"Converted to Table" = Table.FromList(list, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"issueId", "summary", "deparment", "problemStatement", "proposedSolution", "solution", "watchers", "updatedDate", "createdDate", "impact3dDetailing", "gitCategory", "impactedPocsCount", "initiatorContactNumber", "issueTypeName", "siteName", "siteCode", "siteId", "issuekey", "entityCodeLife", "project", "ceid", "fa", "rodType", "discipline", "aeDesignLead", "aeFirm", "statusName", "assignedToEmail", "assignedToUser", "issueUpdatedBy", "reporterEmail", "assignedToCompany", "reporterCompany", "isActive", "isInstruction", "aeFirmCompany", "assignedCompany", "issueKeyString", "impactedTools", "tradeCompany", "dueDate", "lastResponseDate", "dayslastResponse", "daysOpen", "bay", "facilityName", "closeddate", "ac", "pm", "reportedBy", "assigneeReporter", "processName", "attachments"}, {"issueId", "summary", "deparment", "problemStatement", "proposedSolution", "solution", "watchers", "updatedDate", "createdDate", "impact3dDetailing", "gitCategory", "impactedPocsCount", "initiatorContactNumber", "issueTypeName", "siteName", "siteCode", "siteId", "issuekey", "entityCodeLife", "project", "ceid", "fa", "rodType", "discipline", "aeDesignLead", "aeFirm", "statusName", "assignedToEmail", "assignedToUser", "issueUpdatedBy", "reporterEmail", "assignedToCompany", "reporterCompany", "isActive", "isInstruction", "aeFirmCompany", "assignedCompany", "issueKeyString", "impactedTools", "tradeCompany", "dueDate", "lastResponseDate", "dayslastResponse", "daysOpen", "bay", "facilityName", "closeddate", "ac", "pm", "reportedBy", "assigneeReporter", "processName", "attachments"})
in
#"Expanded Column1"

5.2. Connecting via Excel

To connect to the API with Excel, please use the Support button in LSPx to log a ticket requesting a sample file or the API credentials. Then you can follow these steps below:

  1. Open Excel on your desktop and create a blank workbook.
  2. Launch the Power Query Editor [Data > Get Data > Launch Power Query Editor]
  3. Click on Enter Data
  4. Create an empty table.
  5. Click on the Advanced Editor button
  6. Replace the code with the Power Query code below
  7. Replace the token_url, client_id, and client_secret with those supplied by the LSPx support team.
Power Query for Excel

let
    // Variables for token acquisition 
// Contact the LSPx support team for the following variables
token_url = "",
client_id = "",
client_secret = "",
    scope = "api://lspxscopes/.default", 
    token_body = "grant_type=client_credentials&client_id=" & client_id & "&client_secret=" & client_secret & "&scope=" & Uri.EscapeDataString(scope),

    // Obtain the token
    TokenResponse = Web.Contents(token_url,
        [
            Content = Text.ToBinary(token_body),
            Headers=[#"Content-Type"="application/x-www-form-urlencoded", #"Accept"="application/json"]
        ]), 

    // Parse the token response
AccessTokenRecord = Json.Document(TokenResponse),
AccessToken = AccessTokenRecord[access_token],

    // API Call with the token
    api_url_base = "https://fcelspx.build.intel.com/designhub/api/Issue/GetIssueRodList",
    queryParams = "?siteName=Ireland&skip=0&companyName=Jacobs&startDate=2026-06-02&endDate=2026-06-03",
    FullApiUrl = api_url_base & queryParams,
    ApiHeaders = [Authorization="Bearer " & AccessToken, Accept="application/json"],
    ApiResponse = Web.Contents(FullApiUrl, [Headers=ApiHeaders]),

    // Parse the JSON response
    ParsedJson = Json.Document(ApiResponse),

    // Parse the JSON response
    list = ParsedJson[list],
    #"Converted to Table" = Table.FromList(list, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"issueId", "summary", "deparment", "problemStatement", "proposedSolution", "solution", "watchers", "updatedDate", "createdDate", "impact3dDetailing", "gitCategory", "impactedPocsCount", "initiatorContactNumber", "issueTypeName", "siteName", "siteCode", "siteId", "issuekey", "entityCodeLife", "project", "ceid", "fa", "rodType", "discipline", "aeDesignLead", "aeFirm", "statusName", "assignedToEmail", "assignedToUser", "issueUpdatedBy", "reporterEmail", "assignedToCompany", "reporterCompany", "isActive", "isInstruction", "aeFirmCompany", "assignedCompany", "issueKeyString", "impactedTools", "tradeCompany", "dueDate", "lastResponseDate", "dayslastResponse", "daysOpen", "bay", "facilityName", "closeddate", "ac", "pm", "reportedBy", "assigneeReporter", "processName", "attachments"}, {"Column1.issueId", "Column1.summary", "Column1.deparment", "Column1.problemStatement", "Column1.proposedSolution", "Column1.solution", "Column1.watchers", "Column1.updatedDate", "Column1.createdDate", "Column1.impact3dDetailing", "Column1.gitCategory", "Column1.impactedPocsCount", "Column1.initiatorContactNumber", "Column1.issueTypeName", "Column1.siteName", "Column1.siteCode", "Column1.siteId", "Column1.issuekey", "Column1.entityCodeLife", "Column1.project", "Column1.ceid", "Column1.fa", "Column1.rodType", "Column1.discipline", "Column1.aeDesignLead", "Column1.aeFirm", "Column1.statusName", "Column1.assignedToEmail", "Column1.assignedToUser", "Column1.issueUpdatedBy", "Column1.reporterEmail", "Column1.assignedToCompany", "Column1.reporterCompany", "Column1.isActive", "Column1.isInstruction", "Column1.aeFirmCompany", "Column1.assignedCompany", "Column1.issueKeyString", "Column1.impactedTools", "Column1.tradeCompany", "Column1.dueDate", "Column1.lastResponseDate", "Column1.dayslastResponse", "Column1.daysOpen", "Column1.bay", "Column1.facilityName", "Column1.closeddate", "Column1.ac", "Column1.pm", "Column1.reportedBy", "Column1.assigneeReporter", "Column1.processName", "Column1.attachments"}) 
in 
    #"Expanded Column1"

6. Training Video

7. Support

If you have any questions or need further assistance, please use the Support button in LSPx to log a ticket.